////////////////////////////////////////////////////////////////////////////////
//	Copyright (c) 2004 by Michael 'Astar' Sotnikov
//	stari4ek at gmail dot com
////////////////////////////////////////////////////////////////////////////////

#include "core/cModules.hpp"

class TestModule1_c : public Module_c{
	CORE_MODULE_DECLARE(TestModule1_c);
};

const char* TestModule1_c::m_name		= "TestModule1_c";
const char* TestModule1_c::m_prereqs[]	= { NULL };

CORE_MODULE_REGISTER(TestModule1_c);


///////////////////////////////////////////////////////////////////////////////
class TestModule2_c : public Module_c{
	CORE_MODULE_DECLARE(TestModule2_c);
};

const char* TestModule2_c::m_name		= "TestModule2_c";
const char* TestModule2_c::m_prereqs[]	= { "TestModule3_c", NULL };

CORE_MODULE_REGISTER(TestModule2_c);

///////////////////////////////////////////////////////////////////////////////
class TestModule3_c : public Module_c{
	CORE_MODULE_DECLARE(TestModule3_c);

};

const char* TestModule3_c::m_name		= "TestModule3_c";
const char* TestModule3_c::m_prereqs[]	= { "TestModule1_c", "TestModule4_c", NULL };

CORE_MODULE_REGISTER(TestModule3_c);


///////////////////////////////////////////////////////////////////////////////
class TestModule4_c : public Module_c{
	CORE_MODULE_DECLARE(TestModule4_c);

};

const char* TestModule4_c::m_name		= "TestModule4_c";
const char* TestModule4_c::m_prereqs[]	= { "TestModule2_c", NULL };

CORE_MODULE_REGISTER(TestModule4_c);

///////////////////////////////////////////////////////////////////////////////
class TestModule5_c : public Module_c{
	CORE_MODULE_DECLARE(TestModule5_c);

};

const char* TestModule5_c::m_name		= "TestModule5_c";
const char* TestModule5_c::m_prereqs[]	= { "TestModule11_c", NULL };

CORE_MODULE_REGISTER(TestModule5_c);


void testModules()
{
	g_ModuleRegister::Instance().Activate( "TestModule4_c" );	// infinite loop
	g_ModuleRegister::Instance().Activate( "TestModule5_c" );	// non registered dependence
}
